#include<bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n; cin >> n;
vector<int> a(n+1), b(n+1);
vector<bool> occ(n+1);
for(int &p : b) p=-1;
occ[0]=1;
for(int i=1; i<=n; i++) {
cin >> a[i], occ[a[i]]=1;
if(a[i]!=a[i-1]) b[i]=a[i-1], occ[b[i]]=1;
}
int mex=0;
for(int i=1; i<=n; i++) {
while(occ[mex]) mex++;
if(b[i]==-1) b[i]=mex, occ[mex]=1;
cout << b[i] << ' ';
} cout << '\n';
return 0;
}
3. Longest Substring Without Repeating Characters | 1312. Minimum Insertion Steps to Make a String Palindrome |
1092. Shortest Common Supersequence | 1044. Longest Duplicate Substring |
1032. Stream of Characters | 987. Vertical Order Traversal of a Binary Tree |
952. Largest Component Size by Common Factor | 212. Word Search II |
174. Dungeon Game | 127. Word Ladder |
123. Best Time to Buy and Sell Stock III | 85. Maximal Rectangle |
84. Largest Rectangle in Histogram | 60. Permutation Sequence |
42. Trapping Rain Water | 32. Longest Valid Parentheses |
Cutting a material | Bubble Sort |
Number of triangles | AND path in a binary tree |
Factorial equations | Removal of vertices |
Happy segments | Cyclic shifts |
Zoos | Build a graph |
Almost correct bracket sequence | Count of integers |
Differences of the permutations | Doctor's Secret |